home *** CD-ROM | disk | FTP | other *** search
/ MASPC 1 / MASPC_1.iso / Demos / Demo DIV / DATA / DLL / SOURCE / AGUA.CPP next >
Encoding:
C/C++ Source or Header  |  1997-11-24  |  929 b   |  53 lines

  1.  
  2. #include <math.h>
  3. #include <stdio.h>
  4. #include <mem.h>
  5.  
  6. #define GLOBALS
  7. #include "div.h"
  8.  
  9. #define ALTURA 20
  10.  
  11. char    *agua=NULL;
  12.  
  13. void post_process_buffer(void) {
  14.   static int desp=3000;
  15.   static int dec=-1;
  16.   static int valor=0;
  17.   int    x,inc;
  18.   FILE   *f;
  19.  
  20.   if(valor==0) {
  21.     valor=1;
  22.     agua=(char *)div_malloc(ALTURA*wide);
  23.   }
  24.  
  25.   if(agua==NULL) return;
  26.  
  27.   inc=(height-ALTURA-1)*100;
  28.  
  29.   for(x=0;x<ALTURA;x++) {
  30.     memcpy(agua+x*wide,buffer+(inc/100)*wide,wide);
  31.     inc-=desp/10;
  32.     desp+=dec;
  33.     if(desp<2500) dec=1;
  34.     if(desp>3500) dec=-1;
  35.   }
  36.  
  37.   memset(agua,0,wide);
  38.   memcpy(buffer+(height-ALTURA)*wide,agua,wide*ALTURA);
  39. }
  40.  
  41. void __export divlibrary(LIBRARY_PARAMS){}
  42.  
  43. void __export divmain(COMMON_PARAMS) {
  44.   AutoLoad();
  45.   GLOBAL_IMPORT();
  46.   DIV_export("post_process_buffer",post_process_buffer);
  47. }
  48.  
  49. void __export divend(COMMON_PARAMS) {
  50.   div_free(agua);
  51. }
  52.  
  53.